#ifndef _SPISERVICE_NETWORK_SERVICEINTERFACE_SPIDEV_IACTION_H_
#define _SPISERVICE_NETWORK_SERVICEINTERFACE_SPIDEV_IACTION_H_

#include "Spi_Dev_Management/Spi_Buffer_Manager.h"
#include <iostream>
#include <functional>

//actions are thread safe
class IAction
{
public:
    IAction() = default;
    virtual ~IAction() = default;

    virtual void execute() = 0;
    virtual void register_rx_callback(std::function<void(const Soc_In_Data_Buffer*)> cb) = 0;
};

#endif